#! /usr/bin/env python
# encoding: utf-8
# Thomas Nagy, 2015 (ita)

VERSION = '0.0.1'
APPNAME = 'track_output_files'

top = '.'

import os
from waflib import Logs, Options

def options(opt):
	opt.load('compiler_c')
	opt.load('build_file_tracker')

def configure(conf):
	conf.load('compiler_c')

test_lib = False
def play_test(ctx):
	if ctx.cmd != 'build':
		return

	global test_lib
	if not test_lib:
		# schedule one more build
		test_lib = True
		Options.commands.append('change_the_lib')
		Options.commands.append(ctx.cmd)

def change_the_lib(ctx):
	lst = ctx.path.ant_glob('build/*stlib1.*')
	if lst:
		os.utime(lst[0].abspath(), None)
		Logs.pprint('YELLOW', '-> Touch %r' % lst[0].abspath())
		Logs.pprint('YELLOW', '-> Expect a rebuild of dependent files')

def build(bld):
	bld.stlib(source='foo.c', target='stlib1')
	bld.program(source='main.c', target='app', use='stlib1')
	play_test(bld)

